<?php

class loja_produto_categoriaModel extends Model{
    
    protected $tabela = "loja_produto_categoria";
    protected $pkey   = array("cod_categoria", "cod_produto");
    protected $dados  = array(
        
        'cod_categoria' => array(
            'pkey'      => true,
            'name'      => 'Categoria',
            'type' 	=> 'int',
            'notnull'   => true,
            'fkey'      => array(
                'model'         => 'loja/categoria',
                'keys'          => array('cod_categoria', 'catnome'),
                'cardinalidade' => '1n'
            )
         ),
        'cod_produto' => array(
            'name'      => 'Produto',
            'type' 	=> 'int',
            'notnull'   => true,
            'fkey'      => array(
                'model' 	=> 'loja/produto', 
                'keys'          => array('cod_produto', 'pnome'),
                'cardinalidade' => '1n'
            )
         )
    );
    /*
    public function selecionar($campos = array(), $where = "", $limit = "", $offset = "", $orderby = "") {
        $this->LoadModel("loja/categoria", "lprod");
        $tabela = $this->lprod->getTable();
        return $this->db->Read($tabela, $campos, $where, $limit, $offset, $orderby);
    }
    */
    public function getCount(){
        $this->LoadModel("loja/categoria", "lprod");
    	return $this->lprod->getCount();
    }
    
    public function getCategoriasPorProduto($cod_produto, $limit = "", $offset = ""){
        $where = "`cod_produto` = '$cod_produto'";
        $var = $this->db->Read($this->tabela, array('cod_categoria'), $where, $limit, $offset);
        $out = array();
        foreach($var as $cat){
            $out[] = $cat['cod_categoria'];
        }
        return $out;
    }
    
    public function getProdutosPorCategoria($cod_categoria, $limit = "", $offset = ""){
        $where = "`cod_categoria` = '$cod_categoria'";
        return $this->db->Read($this->tabela, array('cod_produto'), $where, $limit, $offset);
    }
    
    public function getProdutosPorListaCategoria($lista, $limit = "", $offset = ""){
        $where = "";
        $or = "";
        foreach($lista as $cod_categoria) {$where .= " $or `cod_categoria` = '$cod_categoria' "; $or = " OR ";}
        $lista = $this->db->Read($this->tabela, array('cod_produto'), $where, $limit, $offset);
        $out = array();
        foreach($lista as $item){$out[] = $item['cod_produto'];}
        return $out;
    }
}

?>
